package com.project.mapper;

import com.project.bean.CarBean;
import com.project.bean.ManBean;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 公民接口
 */
public interface IManMapper {
    /**
     * 查询每个公民，以及查询每个公民拥有的汽车数量
     * @return 公民集合
     */
    List<ManBean> findAll();

    /**
     * 添加公民
     * @param manBean 公民对象
     */
    void addMan(ManBean manBean);

    /**
     * 添加公民的汽车集合
     * @param manID 公民的id
     * @param carList 公民的汽车集合
     */
    void addCarList(@Param("manID") int manID,@Param("carList") List<CarBean> carList);

    /**
     * 级联删除，先删除公民的汽车，再删除公民对象
     * @param manID 公民的ID
     */
    void cascadingDel(int manID);

    /**
     * 外键置空删除，先将公民拥有的汽车外键设置为null。再删除公民对象
     * @param manID 公民的ID
     */
    void setNullDel(int manID);

    /**
     * 按ID查找公民，同时拥有该公民的汽车集合
     * @param manID 公民Id
     * @return 公民对象
     */
    ManBean findById(int manID);

}
